/**
 * 
 */
package br.com.framework.negocio.exception;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Cleber
 *
 */
public class NegocioException extends Exception {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private List<String> mensagens = new ArrayList<String>();

	/**
	 * 
	 */
	public NegocioException() {
	}

	/**
	 * @param msgErroKey chave da mensagem i18n
	 */
	public NegocioException(String msgErroKey) {
		super(msgErroKey);
		this.mensagens.add(msgErroKey);
	}

	/**
	 * @param cause
	 */
	public NegocioException(Throwable cause) {
		super(cause);
	}

	/**
	 * @param msgErroKey chave da mensagem i18n
	 * @param cause
	 */
	public NegocioException(String msgErroKey, Throwable cause) {
		super(msgErroKey, cause);
		this.mensagens.add(msgErroKey);
	}
	
	public void addErro(String erroKey) {
		this.mensagens.add(erroKey);
	}

	/**
	 * @return
	 */
	public List<String> getMensagens() {
		return mensagens;
	}
}
